home *** CD-ROM | disk | FTP | other *** search
/ IRIX Patches 1995 June / SGI IRIX Patches 1995 Jun.iso / 5.3_patches / patchSG0000499 / patchSG0000499.idb / usr / include / abi / X11 / extensions / XKB.h.z / XKB.h
Encoding:
C/C++ Source or Header  |  1995-06-12  |  9.3 KB  |  295 lines

  1. /* $XConsortium: XKB.h,v 1.7 94/04/01 18:39:09 erik Exp $ */
  2. /************************************************************
  3. Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
  4.  
  5. Permission to use, copy, modify, and distribute this
  6. software and its documentation for any purpose and without
  7. fee is hereby granted, provided that the above copyright
  8. notice appear in all copies and that both that copyright
  9. notice and this permission notice appear in supporting
  10. documentation, and that the name of Silicon Graphics not be 
  11. used in advertising or publicity pertaining to distribution 
  12. of the software without specific prior written permission.
  13. Silicon Graphics makes no representation about the suitability 
  14. of this software for any purpose. It is provided "as is"
  15. without any express or implied warranty.
  16.  
  17. SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 
  18. SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 
  19. AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
  20. GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 
  21. DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 
  22. DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 
  23. OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
  24. THE USE OR PERFORMANCE OF THIS SOFTWARE.
  25.  
  26. ********************************************************/
  27.  
  28. #ifndef _XKB_H_
  29. #define    _XKB_H_
  30.  
  31. #define    X_kbUseExtension         0
  32. #define    X_kbSelectEvents          1
  33. #define    X_kbSendEvent             2
  34. #define    X_kbBell             3
  35. #define    X_kbGetState             4
  36. #define    X_kbLatchLockState         5
  37. #define    X_kbGetControls             6
  38. #define    X_kbSetControls             7
  39. #define    X_kbGetMap             8
  40. #define    X_kbSetMap             9
  41. #define    X_kbGetCompatMap        10
  42. #define    X_kbSetCompatMap        11
  43. #define    X_kbGetIndicatorState        12
  44. #define    X_kbGetIndicatorMap        13
  45. #define    X_kbSetIndicatorMap        14
  46. #define    X_kbGetNames            15
  47. #define    X_kbSetNames            16
  48. #define    X_kbListAlternateSyms        17
  49. #define    X_kbGetAlternateSyms        18
  50. #define    X_kbSetAlternateSyms        19
  51. #define    X_kbGetGeometry            20
  52. #define    X_kbSetGeometry            21
  53. #define    X_kbSetDebuggingFlags        101
  54.  
  55. #define    XkbEventCode            0
  56. #define    XkbNumberEvents            (XkbEventCode+1)
  57.  
  58. #define XkbMapNotify            0
  59. #define    XkbStateNotify            1
  60. #define XkbControlsNotify        2
  61. #define    XkbIndicatorStateNotify        3
  62. #define    XkbIndicatorMapNotify        4
  63. #define    XkbNamesNotify            5
  64. #define XkbCompatMapNotify        6
  65. #define    XkbAlternateSymsNotify        7
  66. #define    XkbBellNotify            8
  67. #define    XkbActionMessage        9
  68. #define    XkbSlowKeyNotify        10
  69.  
  70. #define XkbMapNotifyMask        (1L << 0)
  71. #define    XkbStateNotifyMask        (1L << 1)
  72. #define XkbControlsNotifyMask        (1L << 2)
  73. #define    XkbIndicatorStateNotifyMask    (1L << 3)
  74. #define    XkbIndicatorMapNotifyMask    (1L << 4)
  75. #define    XkbNamesNotifyMask        (1L << 5)
  76. #define XkbCompatMapNotifyMask        (1L << 6)
  77. #define XkbAlternateSymsNotifyMask    (1L << 7)
  78. #define    XkbBellNotifyMask        (1L << 8)
  79. #define    XkbActionMessageMask        (1L << 9)
  80. #define    XkbSlowKeyNotifyMask        (1L << 10)
  81. #define    XkbAllEventsMask        (0x07FF)
  82.  
  83. #define    XkbSK_Press            0
  84. #define    XkbSK_Accept            1
  85. #define    XkbSK_Reject            2
  86. #define    XkbSK_Release            3
  87.  
  88. #define    XkbSK_PressMask            (1L << 0)
  89. #define    XkbSK_AcceptMask        (1L << 1)
  90. #define    XkbSK_RejectMask        (1L << 2)
  91. #define    XkbSK_ReleaseMask        (1L << 3)
  92. #define    XkbSK_AllEventsMask        (0xf)
  93.  
  94. #define    XkbKeyboard            0
  95. #define    XkbNumberErrors            1
  96.  
  97. #define    XkbModifierStateMask        (1L << 0)
  98. #define    XkbModifierBaseMask        (1L << 1)
  99. #define    XkbModifierLatchMask        (1L << 2)
  100. #define    XkbModifierLockMask        (1L << 3)
  101. #define    XkbGroupStateMask        (1L << 4)
  102. #define    XkbGroupBaseMask        (1L << 5)
  103. #define    XkbGroupLatchMask        (1L << 6)
  104. #define XkbGroupLockMask        (1L << 7)
  105. #define    XkbCompatStateMask        (1L << 8)
  106. #define    XkbAllStateComponentsMask    (0x1ff)
  107.  
  108. #define    XkbRepeatKeysMask     (1L << 0)
  109. #define    XkbSlowKeysMask         (1L << 1)
  110. #define    XkbBounceKeysMask     (1L << 2)
  111. #define    XkbStickyKeysMask     (1L << 3)
  112. #define    XkbMouseKeysMask     (1L << 4)
  113. #define    XkbMouseKeysAccelMask     (1L << 5)
  114. #define    XkbAccessXKeysMask     (1L << 6)
  115. #define    XkbAccessXTimeoutMask     (1L << 7)
  116. #define    XkbAccessXFeedbackMask     (1L << 8)
  117. #define    XkbGroupsWrapMask     (1L << 9)
  118. #define    XkbAudibleBellMask     (1L << 10)
  119. #define    XkbAutoAutorepeatMask     (1L << 11)
  120. #define XkbKeyboardGroupsMask     (1L << 12)
  121. #define    XkbInternalModsMask     (1L << 13)
  122. #define    XkbIgnoreLockModsMask     (1L << 14)
  123. #define    XkbControlsEnabledMask     (1L << 15)
  124.  
  125. #define    XkbAllAccessXMask     (0x0FFF)
  126. #define    XkbAllControlsMask     (0xFFFF)
  127.  
  128. #define    XkbAX_SKPressFBMask    (1L << 0)
  129. #define    XkbAX_SKAcceptFBMask    (1L << 1)
  130. #define    XkbAX_FeatureFBMask    (1L << 2)
  131. #define    XkbAX_SlowWarnFBMask    (1L << 3)
  132. #define    XkbAX_IndicatorFBMask    (1L << 4)
  133. #define    XkbAX_StickyKeysFBMask    (1L << 5)
  134. #define    XkbAX_TwoKeysMask    (1L << 6)
  135. #define    XkbAX_LatchToLockMask    (1L << 7)
  136. #define    XkbAX_AllOptionsMask    (0xFF)
  137.  
  138. #define    XkbUseCoreKbd        0x0100
  139. #define    XkbPrivate        0x4000
  140.  
  141. #define    XkbNoModifier        0xff
  142. #define    XkbNoModifierMask    0
  143.  
  144. #define    XkbSA_ClearLocks    (1L << 0)
  145. #define    XkbSA_LatchToLock    (1L << 1)
  146. #define    XkbSA_UseModMapMods    (1L << 2)
  147.  
  148. #define    XkbSA_GroupAbsolute    (1L << 2)
  149. #define    XkbSA_UseDfltButton    0
  150.  
  151. #define    XkbSA_ISODfltIsGroup      (1L << 7)
  152. #define    XkbSA_ISONoAffectMods     (1L << 6)
  153. #define    XkbSA_ISONoAffectGroup     (1L << 5)
  154. #define    XkbSA_ISONoAffectPtr     (1L << 4)
  155. #define    XkbSA_ISONoAffectCtrls     (1L << 3)
  156. #define    XkbSA_ISOAffectMask     (0x78)
  157. #define    XkbSA_MessageOnPress     (1L << 0)
  158. #define    XkbSA_MessageOnRelease     (1L << 1)
  159. #define    XkbSA_MessageGenKeyEvent (1L << 2)
  160.  
  161.     /* flags values for XkbSA_SetPtrDflt */
  162. #define    XkbSA_AffectDfltBtn    1
  163. #define    XkbSA_DfltBtnAbsolute    (1L << 2)
  164.  
  165.     /* flags for XkbSA_SwitchScreen */
  166. #define    XkbSA_SwitchApplication    (1L << 0)
  167. #define    XkbSA_SwitchAbsolute    (1L << 2)
  168.  
  169. #define    XkbSA_NoAction        0x00
  170. #define    XkbSA_SetMods        0x01
  171. #define    XkbSA_LatchMods        0x02
  172. #define    XkbSA_LockMods        0x03
  173. #define    XkbSA_SetGroup        0x04
  174. #define    XkbSA_LatchGroup    0x05
  175. #define    XkbSA_LockGroup        0x06
  176. #define    XkbSA_MovePtr        0x07
  177. #define    XkbSA_AccelPtr        0x08
  178. #define    XkbSA_PtrBtn        0x09
  179. #define    XkbSA_ClickPtrBtn    0x0a
  180. #define    XkbSA_LockPtrBtn    0x0b
  181. #define    XkbSA_SetPtrDflt    0x0c
  182. #define    XkbSA_ISOLock        0x0d
  183. #define    XkbSA_Terminate        0x0e
  184. #define    XkbSA_SwitchScreen    0x0f
  185. #define    XkbSA_SetControls    0x10
  186. #define    XkbSA_LockControls    0x11
  187. #define    XkbSA_ActionMessage    0x12
  188. #define    XkbSA_LastAction    XkbSA_ActionMessage
  189. #define    XkbSA_NumActions    (XkbSA_LastAction+1)
  190.  
  191. #define    XkbKB_Permanent        0x80
  192. #define    XkbKB_OpMask        0x7f
  193. #define    XkbKB_Default        0x00
  194. #define    XkbKB_Lock        0x01
  195. #define    XkbKB_RadioGroup    0x02
  196.  
  197. #define    XkbMinLegalKeyCode    8
  198. #define    XkbMaxLegalKeyCode    255
  199. #define    XkbNumModifiers        8
  200. #define    XkbNumVirtualMods    16
  201. #define    XkbNumIndicators    32
  202. #define    XkbNumKbdGroups        8
  203. #define    XkbMaxRadioGroups    32
  204. #define    XkbRGMaxMembers        12
  205. #define    XkbActionMessageLength    6
  206. #define    XkbKeyNameLength    4
  207. #define    XkbGeomPtsPerMM        10
  208.  
  209. #define    XkbOneLevelIndex    0
  210. #define    XkbTwoLevelIndex    1
  211. #define    XkbKeypadIndex        2
  212. #define    XkbLastRequiredType    XkbKeypadIndex
  213. #define    XkbNumRequiredTypes    (XkbLastRequiredType+1)
  214.  
  215. #define    XkbOneLevelMask        (1<<0)
  216. #define    XkbTwoLevelMask        (1<<1)
  217. #define    XkbKeypadMask        (1<<2)
  218. #define    XkbAllRequiredTypes    (0x7)
  219.  
  220. #define    XkbName "XKEYBOARD"
  221. #define    XkbMajorVersion    0
  222. #define    XkbMinorVersion    30
  223.  
  224. #define    XkbExplicitKeyTypeMask      (1<<0)
  225. #define    XkbExplicitInterpretMask  (1<<1)
  226. #define    XkbExplicitAutorepeatMask (1<<2)
  227. #define    XkbExplicitBehaviorMask      (1<<3)
  228. #define    XkbAllExplicitMask      (0xf)
  229.  
  230. #define    XkbKeyTypesMask        (1<<0)
  231. #define    XkbKeySymsMask        (1<<1)
  232. #define    XkbExplicitComponentsMask (1<<4)
  233. #define XkbKeyActionsMask    (1<<5)
  234. #define    XkbKeyBehaviorsMask    (1<<6)
  235. #define    XkbVirtualModsMask    (1<<7)
  236.  
  237. #define    XkbFullClientInfoMask    (XkbKeyTypesMask|XkbKeySymsMask)
  238. #define    XkbFullServerInfoMask    (XkbKeyActionsMask|XkbKeyBehaviorsMask|XkbVirtualModsMask|XkbExplicitComponentsMask)
  239. #define    XkbAllMapComponentsMask    (XkbFullClientInfoMask|XkbFullServerInfoMask)
  240. #define    XkbResizableInfoMask    (XkbKeyTypesMask)
  241.  
  242. #define    XkbSI_Autorepeat    (1<<0)
  243. #define    XkbSI_LockingKey    (1<<1)
  244.  
  245. #define    XkbSI_LevelOneOnly    (0x80)
  246. #define    XkbSI_OpMask        (0x7f)
  247. #define    XkbSI_NoneOf        (0)
  248. #define    XkbSI_AnyOfOrNone    (1)
  249. #define    XkbSI_AnyOf        (2)
  250. #define    XkbSI_AllOf        (3)
  251. #define    XkbSI_Exactly        (4)
  252.  
  253. #define    XkbIM_NoExplicit    (1L << 7)
  254. #define    XkbIM_NoAutomatic    (1L << 6)
  255.  
  256. #define    XkbIM_UseBase        (1L << 0)
  257. #define    XkbIM_UseLatched    (1L << 1)
  258. #define    XkbIM_UseLocked        (1L << 2)
  259. #define    XkbIM_UseEffective    (1L << 3)
  260. #define    XkbIM_UseCompat        (1L << 4)
  261. #define    XkbIM_UseAnyState    (0xF)
  262.  
  263. #define    XkbModCompatMask    (1<<0)
  264. #define    XkbVirtualModCompatMask    (1<<1)
  265. #define    XkbSymInterpMask    (1<<2)
  266. #define    XkbAllCompatMask    (0x7)
  267.  
  268. #define    XkbKeycodesNameMask    (1<<0)
  269. #define    XkbGeometryNameMask    (1<<1)
  270. #define    XkbSymbolsNameMask    (1<<2)
  271. #define    XkbSemanticsNameMask    (1<<3)
  272. #define    XkbKeyTypeNamesMask    (1<<4)
  273. #define    XkbKTLevelNamesMask    (1<<5)
  274. #define    XkbIndicatorNamesMask    (1<<6)
  275. #define    XkbModifierNamesMask    (1<<7)
  276. #define    XkbKeyNamesMask        (1<<8)
  277. #define    XkbRGNamesMask        (1<<9)
  278. #define    XkbVirtualModNamesMask    (1<<10)
  279. #define    XkbCharSetsMask        (1<<11)
  280. #define    XkbPhysicalNamesMask    (1<<12)
  281. #define    XkbAllNamesMask        (0x1fff)
  282.  
  283. #define    XkbGeomNamedColor    (0)
  284. #define    XkbGeomRGBColor        (1)
  285.  
  286. #define    XkbIsModAction(a)    (((a)->type>=Xkb_SASetMods)&&((a)->type<=XkbSA_LockMods))
  287. #define    XkbIsGroupAction(a)    (((a)->type>=XkbSA_SetGroup)&&((a)->type<=XkbSA_LockGroup))
  288. #define    XkbIsPtrAction(a)    (((a)->type>=XkbSA_MovePtr)&&((a)->type<=XkbSA_SetPtrDflt))
  289.  
  290. #define    XkbError2(a,b)        ((((unsigned)(a))<<24)|(b))
  291. #define    XkbError3(a,b,c)    XkbError2(a,(((unsigned)(b))<<16)|(c))
  292. #define    XkbError4(a,b,c,d)    XkbError3(a,b,((((unsigned)(c))<<8)|(d)))
  293.  
  294. #endif /* _XKB_H_ */
  295.